专利摘要:
パケット交換ネットワークからメディアストリームのパケットを受信するネットワーク・ノードの適応ジッタ・バッファのバッファ遅延を動的に調整する方法である。本方法は、ネットワーク・ノードへ到来するパケットをバッファへ挿入することと、ジッタ・バッファ再生間隔に等しいTrepinごとに1度、ジッタ・バッファリング手続を実行することを有する。ジッタ・バッファ手続を実行することは、ジッタ・バッファ内の待機中パケット数Nの変動に基づいて、最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Tjitを更新することを含む。
公开号:JP2011510594A
申请号:JP2010544260
申请日:2008-01-25
公开日:2011-03-31
发明作者:アルト;ユハニ マーコネン,
申请人:テレフオンアクチーボラゲット エル エム エリクソン(パブル);
IPC主号:H04L12-56
专利说明:

[0001] 本発明は一般に、バッファ内に待機中のパケット数の変動に従ってジッタ・バッファの遅延を適応する簡易な方法に関する。]
背景技術

[0002] 幅広い範囲にわたって輸送遅延(transport delay)が変動しやすいインタフェースを介して、例えば電話サービスのような従来のメディア・サービスにおけるメディアストリームが例えばメディア・ゲートウェイのようなネットワーク・ノードにより受信される場合に、ネットワーク・ノードから、出力タイミングにおいて非常に制限された変動を要求するかもしれない別のインタフェースへ向けた連続した一定レートの再生を補償するために、ネットワーク・ノードの入力においてジッタ・バッファが必要となるだろう。]
[0003] ネットワーク・ノード内のジッタ・バッファリングの一般的な原理が図1を参照しつつ説明される。ジッタ・バッファリングの理解に不可欠な部分だけが図に示され、例えば音声エンコーダやデコーダのような音声処理機能のために必要となる他の部分は簡単のために省略されていることが理解されるだろう。同じ理由により、この図は1つの方向すなわち上りリンクにおいてメディア送信がどのように実行されるかだけを説明し、双方向会話を完成させる下りリンク送信を省略する。] 図1
[0004] 図1では、メディアストリーム内のリアルタイム・データを1以上のユーザへ配信するように構成された音声ソース100が一定時間間隔Trepin102でパケットを生成する。パケットがパケット交換ネットワーク101を通ってルーティングされるにつれて、メディアストリームに一定でない輸送遅延がもたらされるだろう。ジッタとも呼ばれるこの現象は図ではネットワーク101から不規則な間隔で出て行くパケット103として説明される。複数のパケットが極めて短い時間間隔すなわちバーストで中間ネットワーク・ノード104へ到来した後に、パケットがまったく到来しない時間間隔が続くかもしれないため、パケットがネットワーク・ノードへ到来するパターンを予測して扱うのは難しいかもしれない。] 図1
[0005] ジッタの制御を維持する一般的な方法は中間ネットワーク・ノード104においてジッタ・バッファ105を実装することである。ネットワーク・ノードへ到来するパケットがジッタ・バッファへバッファリング107され、その後にそれらが、Trepinに等しい回復された一定間隔Trepout109でネットワーク・ノードから再生される際に、ネットワークにより生じる輸送遅延のほかにジッタ保護期間Tjit106として識別されうる別の遅延をもたらすだろう。ここで、パケットは、ジッタを許容しない別の輸送ネットワーク110、一般的には回路交換ネットワークを介して1つ以上の送信エンティティ(不図示)へ転送されうる。]
[0006] Tjit106が事前に設定された定数である場合に、ジッタ・バッファリングは静的バッファリングと呼ばれ、よって、バッファされたすべてのパケットは同じジッタ・バッファ遅延を経験するだろう。一方で、ネットワーク・ノードの入力における遅延の振る舞いのある種の解析に基づいてTjitが変更可能な場合に、バッファリング方法は代わりに適応ジッタ・バッファリングと呼ばれる。]
[0007] 絶対に必要なものよりも長い遅延を避けるために、適応ジッタ・バッファリングは静的バッファリングよりも好ましい。適切に動作するために、静的バッファリングを可能にするジッタ・バッファは最悪な場合の遅延の変動に対して大きさが設定(dimension)される必要があり、よって、特に最悪の場合が比較的低い頻度で生じる場合に、静的バッファリングにより生じる遅延は一般に動的バッファリングで必要となるものよりも遥かに大きくなるだろう。]
[0008] 適応ジッタ・バッファリング・アルゴリズムは通常、端末又はクライアントの受信側のために開発され、典型的に単一のエンドユーザへ割り当てられる。しかしながら、ネットワーク・ノードでは、1つの処理ユニットが典型的に数十又は数百もの同時ユーザ又はストリーム・インスタンスにより共有される。このような状況において、オペレータがチャネル当たりの処理コストを低く抑えるために、バッファリング・アルゴリズムの簡易化が不可欠な課題となるだろう。]
[0009] ネットワーク・バッファの大きさの設定の際には通常、単純化と、考慮に入れなければならない知覚品質との間のトレードオフが存在する。これは、ネットワーク・ノードにおいて実装されるバッファリング・アルゴリズムは可能な限り簡易でなければならないが、通常のエンドユーザ端末において必要される品質レベルに品質が到達する必要はないものの十分に良好な品質でなければならないことを意味する。スケーラブルな再生は、エンドユーザ端末において必要となるものと比べて、ネットワーク・ノードにおいてやや複雑な機能を必要とする。ネットワーク・ノードでは、スピードアップ又はキャッチアップは通常、パケット又はフレームをスキップすることによって行われ、スローダウンはフレームすなわちエラー隠蔽パケットを挿入することによって実現される。]
発明が解決しようとする課題

[0010] 本発明の目的は、上記で概要が示された問題の少なくとも一部を解決することである。特に、バッファ内の待機中パケット数の変動に従って適応的に調整されうるジッタ・バッファの適応遅延を提供することが1つの目的である。]
課題を解決するための手段

[0011] 第1の側面によれば、パケット交換ネットワークからメディアストリームのパケットを受信するネットワーク・ノードの有する適応ジッタ・バッファのバッファ遅延を動的に調整する方法であって、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップと、
前記ジッタ・バッファの再生間隔に等しいTrepinごとに1度、ジッタ・バッファリング手続きを実行するステップと
を有し、
最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Tjitは、前記ジッタ・バッファ内の待機中パケット数Nの変動に基づいて更新される
ことを特徴とする方法が提供される。]
[0012] 前記ジッタ・バッファリング手続きは、初期ステップとして、
前記メディアストリームが現在のところ無音期間内にあるか、又は直近の受信パケットが音声パケットとSIDとのいずれであるかを判定するステップと、
前記直近の受信パケットが音声パケットである場合に、トーク・スパートの間にTjitを更新する適応手続きを実行するか、前記メディアストリームが現在のところ無音期間である場合又は前記直近の受信パケットがSIDである場合に、無音期間の間にTjitを更新する適応手続きを実行するステップと
を有してもよい。]
[0013] トーク・スパート又はメディア・スパートの間にTjitを調整する前記適応手続きは、
前記適応手続きの所定の反復回数を規定する適応間隔ADAPT_INTにわたって記録されたNの最小値NminとNの最大値Nmaxとを更新するためにNを監視するステップと、
Tjitに要求される調整の指標であるTjが、
Tj=(Nmax−Nmin)*Trepin
となるように、Nの前記変動に基づいてTjitに対する更新された目標値Tjを規定するステップと、
Tjitの前回の調整を行ってからの前記適応手続きの反復回数がADAPT_INTに等しい場合にTjitを調整するステップと
を有してもよい。]
[0014] さらに、前記調整するステップは、
現在のTjitで対処可能なものよりもNの前記変動が大きい場合にTjに従ってTjitを増やすステップ、又は
現在の変動よりも大きなNの変動のために現在のTjitの大きさが設定されている場合にTjに従ってTjitを減らすステップ
を有してもよい。]
[0015] さらに、前記調整するステップはまた、
TjがTjitを超える場合に、高速アタックを実行して、Tjに等しくなるようにTjitを即時に更新するステップ、又は低速減衰を実行して、現在のTjへ向けてTjitを段階的に減らすステップと、
現在の最大バッファ遅延時間N*Trepinが所定の閾値catchUpLimitを超える場合に、Tjitが現在のNの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を有してもよい。]
[0016] catchUpLimitは、Tjitが更新されておらず且つ現在のTjが現在のTjitを超える場合に、
catchUpLimit=Tj+Trepin
として規定され、それ以外の場合に
catchUpLimit=Tjit+Trepin
として規定されてもよい。]
[0017] 無音期間内又は前記直近の受信パケットがSIDである場合にTjitを適応する前記適応手続きは、
前記手続きにより実行された前回のTjitの適応を行ってからの、トーク・スパートの間に適応する手続きの反復回数が所定の無音期間適応リミットDTXLimitを超える場合にTjitを更新するステップと、
前記適応手続きの所定の反復回数を規定する適応間隔ADAPT_INTにわたって測定されたNの最大値をNmaxとし、Nの最小値をNminとして場合に、Tjitに要求される調整の指標であるTjが、
Tj=(Nmax−Nmin)*Trepin
となるように、Nの前記変動に基づいてTjitに対する更新された目標値Tjを規定するステップと、
現在のTjitで対処可能なものよりもNの前記変動が大きい場合にTjに従ってTjitを増やすステップと
を有してもよい。]
[0018] 前記調整するステップは
TjがTjitを超える場合に、高速アタックを実行して、Tjに等しくなるようにTjitを即時に更新するステップと、
現在のバッファ遅延時間N*Trepinが所定の閾値catchUpLimitを超える場合に、Tjitが現在のNの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
をさらに有してもよい。ここで、catchUpLimitは、
catchUpLimit=Tj+Trepin
として規定されてもよい。]
[0019] 前記メディアストリームはオーディオ・ストリーム又はビデオ・ストリームであってもよい。]
[0020] 別の側面によれば、パケット交換ネットワークからメディアストリームのパケットを受信するための適応ジッタ・バッファを備え、バッファ遅延を動的に調整するように構成されたノードであって、
前記ノードへ到来するパケットを受信するための受信ユニットと、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップし、前記ジッタ・バッファの再生間隔に等しいTrepinごとに1度、ジッタ・バッファリング手続きを実行するためのバッファリング・ユニットと
を備え、
最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Tjitは、前記ジッタ・バッファ内の待機中パケット数Nの変動に基づいて更新される
ことを特徴とするノードがまた提供される。]
[0021] 前記バッファリング・ユニットは、
前記メディアストリームが現在のところ無音期間内にあるか、又は直近の受信パケットが音声パケットとSIDとのいずれであるかを判定するステップと、
前記直近の受信パケットが音声パケットである場合に、トーク・スパートの間にTjitを更新する適応手続きを実行するか、前記メディアストリームが現在のところ無音期間である場合又は前記直近の受信パケットがSIDである場合に、無音期間の間にTjitを更新する適応手続きを実行するステップと
を実行するように構成されてもよい。]
[0022] 前記バッファリング・ユニットがトーク・スパート又はメディア・スパートの間にTjitを更新する調整する適応手続きを実行している場合に、前記バッファリング・ユニットは、
前記適応手続きの所定の反復回数を規定する適応間隔ADAPT_INTにわたって記録されたNの最小値NminとNの最大値Nmaxとを更新するためにNを監視するステップと、
Tjitに要求される調整の指標であるTjが、
Tj=(Nmax−Nmin)*Trepin
となるように、Nの前記変動に基づいてTjitに対する更新された目標値Tjを規定するステップと、
Tjitの前回の調整を行ってからの前記適応手続きの反復回数がADAPT_INTに等しい場合にTjitを調整するステップと
を実行するようにさらに構成されてもよい。]
[0023] 前記調整するステップを実行する際に、前記バッファリング・ユニットは、
現在のTjitで対処可能なものよりもNの前記変動が大きい場合にTjに従ってTjitを増やすステップ、又は
現在の変動よりも大きなNの変動のために現在のTjitの大きさが設定されている場合にTjに従ってTjitを減らすステップ
を実行するようにさらに構成されてもよい。]
[0024] さらに、前記調整するステップを実行する際に、前記バッファリング・ユニットは、
TjがTjitを超える場合に、高速アタックを実行して、Tjに等しくなるようにTjitを即時に更新するステップ、又は低速減衰を実行して、現在のTjへ向けてTjitを段階的に減らすステップと、
現在の最大バッファ遅延時間N*Trepinが所定の閾値catchUpLimitを超える場合に、Tjitが現在のNの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を含むようにさらに構成されてもよい。]
[0025] 前記バッファリング・ユニットは、catchUpLimitを、Tjitが更新されておらず且つ現在のTjが現在のTjitを超える場合に、
catchUpLimit=Tj+Trepin
として規定し、それ以外の場合に
catchUpLimit=Tjit+Trepin
として規定するように構成されてもよい。]
[0026] 無音期間内又は前記直近の受信パケットがSIDである場合に、前記バッファリング・ユニットは、
前記手続きにより実行された前回のTjitの適応を行ってからの、トーク・スパートの間に適応する手続きの反復回数が所定の無音期間適応リミットDTXLimitを超える場合にTjitを更新するステップと、
前記適応手続きの所定の反復回数を規定する適応間隔ADAPT_INTにわたって測定されたNの最大値をNmaxとし、Nの最小値をNminとして場合に、Tjitに要求される調整の指標であるTjが、
Tj=(Nmax−Nmin)*Trepin
となるように、Nの前記変動に基づいてTjitに対する更新された目標値Tjを規定するステップと、
現在のTjitで対処可能なものよりもNの前記変動が大きい場合にTjに従ってTjitを増やすステップと
を実行するように代わりにさらに構成されてもよい。]
[0027] 前記調整するステップの間に、前記バッファリング・ユニットは、
TjがTjitを超える場合に、高速アタックを実行して、Tjに等しくなるようにTjitを即時に更新するステップと、
現在のバッファ遅延時間N*Trepinが所定の閾値catchUpLimitを超える場合に、Tjitが現在のNの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を実行するようにさらに構成されてもよい。]
図面の簡単な説明

[0028] 先行技術に従うジッタ・バッファリングの原理の基本的な概観を説明する図。



主張される発明に従って動作するバッファのためのジッタ・バッファ・レベルの起こりうる変動を説明する図。
1つの実施形態に従うパケットの受信とタイミングとの全体的な原理を説明する図。
1つの実施形態に従う全体的なジッタ・バッファリング・アルゴリズムを説明する図。
1つの実施形態に従うトーク・スパート(talk spurt)又はメディア・スパート(media spurt)の間に動作可能な適応手続きを説明する図。
1つの実施形態に従う無音期間の間又は先頭において動作可能な適応手続きを説明する図。
1つの実施形態に従うバッファ遅延が小さくなるように段階的に適応する手続きを説明する図。
1つの実施形態に従うジッタ・バッファリング・アルゴリズムに従って動作するように構成された適応ジッタ・バッファを備える典型的なネットワーク・ノードを説明する図。
DTXが無効である1つの実施形態に従うジッタ・バッファ・アルゴリズムの例示的な性能を説明する図。
DTXが有効である別の実施形態に従うジッタ・バッファ・アルゴリズムの別の例示的な性能を説明する図。]
実施例

[0029] 以下、本発明は例示の実施形態を用い且つ添付の図面を参照しつつ、より詳細に説明される。]
[0030] 簡潔に記載すると、本発明は簡易な適応ジッタ・バッファリング・アルゴリズムに関し、特にバッファ内の待機中パケット数の変動に基づいてジッタ・バッファの遅延を適応する方法に関する。]
[0031] ネットワーク・ノード、例えばメディア・ゲートウェイはリアルタイム・ストリーミング・ソースから送信され、予期されない輸送遅延すなわちパケット・ストリームへのジッタをもたらすパケット交換ネットワークを介して経由されたパケットを受信する。ジッタに対処でき、それによってネットワーク・ノードから一定の遅延での再生を可能にするために、そしてバッファリングによりもたらされる遅延を低く保つために、ノードは適応ジッタ・バッファを備える。典型的に相当数の同時ユーザを扱うこのようなジッタ・バッファについて、良好な性能で動作するために、簡易なバッファリング・アルゴリズムが望まれるだろう。]
[0032] ジッタ・バッファにより生じる遅延はジッタ保護時間Tjitにより決定される。Tjitは、最適化された場合にバッファ内に待機中の様々な数のパケットをバッファが扱うことを可能にするパラメータ、すなわち意図的にパケットが破棄される場合、すなわち現在のジッタ状況に従って遅延を調整するために実行されるキャッチアップの間を除いて如何なるパケットを破棄する必要なく、バッファが到来パケットをバッファリングできるようにするパラメータである。]
[0033] ソースから再生までの全遅延は輸送遅延とバッファリングによりもたらされる遅延との合計であり、すなわちパケットの輸送遅延が長いほどバッファリング遅延は短くなるだろうし、その逆も成り立つ。Tjitは最大バッファリング遅延に対する目標値を規定するだろう。これは、輸送遅延がその最小値である場合にのみ、経験されるバッファリング遅延がTjitに近づくだろうことを意味する。バッファリング遅延は可能な限り一定に保たれるべきであり、同時に可能な限り小さく保たれるべきである。これらの要件は相反し、トレードオフが必要となる。]
[0034] ジッタ・バッファ内の待機中パケット数の変動に基づいて継続的にTjitを適応することによって、ネットワーク・ノードの入力において経験されたジッタの振る舞いと上述の要求とにジッタ・バッファ遅延を適応することが可能になるだろう。]
[0035] 主張される発明の1つの実施形態によれば、ジッタ・バッファ内の待機中パケット数Nは継続して監視され、監視された値の最大値及び最小値すなわちNmax及びNminがそれぞれ待機中パケット数の変動を判定するために用いられるだろう。]
[0036] 音声パケットを伝えるトーク・スパート又はビデオなどのメディア・パケットを伝えるメディア・スパートの間に、待機中パケット数の変動は、ADAPT_INTとして定義される所定の短期間適応間隔にわたって記録される。ADAPT_INTは事前に設定されるチューニング・パラメータであり、Tjitが更新されるであろう最小間隔を示す。トーク・スパート又はメディア・スパートの間に、適応手続きは一定間隔で実行されるだろう。ここで、カウンタは反復ごとに増やされる。カウンタがADAPT_INTに等しくなると、Tjitはそれに従って適応されるだろう。Tjitの適応に続いて、ジッタ・バッファの中身はキャッチアップによって、すなわち必要ならばジッタ・バッファからパケットを破棄することによって調整されるだろう。ジッタ・バッファ及びネットワーク・ノードから連続したレートでパケットが配信されなければならないため、適応手続きの後に、パケットの抜き出し・処理又は隠蔽パケットの生成が続くだろう。]
[0037] 予期されるNの変動に依存して、Tjitの新たな目標値の指標すなわちTjitが小さくなるように適応されるべきか大きくなるように適応されるべきかの指標を与える別のパラメータTjは、
Tj=(Nmax−Nmin)*Trepin (1)
で表現されうる。ここで、Trepinはソースからパケットが送信される名目(nominal)反復間隔であり、ジッタ・バッファ及びネットワーク・ノードからパケットが配信される名目反復間隔Trepoutに等しい。]
[0038] 1つの実施形態に従う適応ジッタ・バッファについての様々なシナリオ及び提案される適応ジッタ・バッファリング・アルゴリズムを用いるバッファの効果がここで図2a〜図2dを参照しつつ以下に説明される。図2a及び図2bは1つの典型的なシナリオを説明する。図2aはADAPT_INT*Trepinとして規定される時間間隔にわたって記録されるジッタ・バッファ内の待機中パケットの最小数Nminを示し、図2bはジッタ・バッファ内の待機中パケットの最大数Nmaxを示す。] 図2a 図2b 図2c 図2d
[0039] 図2a及び図2bに示されるシナリオでは、待機中パケット数の変動は比較的大きい。このようなシナリオは、
Tj>Tjit (2)
と表現されうる。] 図2a 図2b
[0040] 明らかに、待機中パケットの変動は、現在のジッタ保護時間Tjitを超えるTjを結果として生じる。すなわち、Tjは、ジッタ・バッファがジッタの現在の変動を対処可能なように、Tjitが増やされなければならないことを示す。]
[0041] 一方、図2c及び図2dはジッタ・バッファ内の待機中パケット数の変動が小さい状況を示す。この状況は代わりに
Tj<Tjit (3)
と表しうる。] 図2c 図2d
[0042] このシナリオでは、現在のTjitはそれに従ってすべての到来パケットをバッファで対処可能な値を有するが、現在の遅延を誇張し、その結果として、スピードアップすることによって、すなわち時折パケット/フレームを破棄することによって、遅延が小さくされてもよく、そして小さくされるだろう。明らかに、Tjitはまた小さくなるように適応されるだろう。]
[0043] ネットワーク・ノードの入力における輸送遅延が長い場合に、ジッタ・バッファ内のパケット数は段階的に減少する。Tjitの現在値が許容するよりもパケットが遅延するならば、待機中パケット数はゼロに到達さえしうる。長い輸送遅延を説明するシナリオは、図2a及び図2cにおいて説明される。バッファが空になると、トーク・スパート又はメディア・スパートの間にパケットが再生されるべきである場合に、エラー隠蔽がバッファに挿入され、ノードは一定のレートで何かを連続的に再生することができるだろう。事実上、これは再生の組み込まれたスローダウンを表す。] 図2a 図2c
[0044] 典型的な後続のシナリオでは、輸送遅延は場合によっては、限られた期間について短くなる傾向があり、その結果、バッファ入力における到来時間間隔は一時的にソースにおけるパケットの名目反復間隔Trepinよりも短くなる。良い品質の音声を1つ以上の宛先エンティティへ提供するために、ジッタ・バッファ出力に関する再生間隔が一定、すなわちTrepinに等しくなければならないという事実は、ジッタ・バッファ内の待機中パケット数が段階的に増加するという状況につながる。このような状況は図2b及び図2dで説明される。] 図2b 図2d
[0045] 如何なるパケット損失を結果として生じることなく遅延ピークが発生するならば、バッファへの方向のパケットはバーストにおいて又は短い到達時間間隔で最終的に到達し、ジッタ・バッファ内の待機中パケット数Nは以前に設定された上限値を超えさえするかもしれない。これは、今後、有効なジッタ保護時間、又はTjitの目標値すなわちTjが、図2bに示されるように、Tjitの現在値を超えるレベルへ増加しているかもしれないことを意味する。] 図2b
[0046] Tjitの現在値よりも高くジッタ・バッファ・レベルが増加する原因となる長い遅延のピーク及びバーストが間欠的に発生するならば、監視されたNmax及びNminの差と、Tjの現在値とを満たすように急激に増加されるように、提案されるジッタ・バッファ・アルゴリズムはTjitを調整するだろう。このようなシナリオは典型的に高速アタック(fast attack)と呼ばれる。]
[0047] 長い遅延ピークが存在せず、後続のバーストが減少傾向にあるならば、バッファ内の待機中パケット数の変動は再び段階的に小さくなるだろう。しかしながら、図2dに示されるように、Tjitは比較的高いレベルに留まるだろう。このような状況では、バッファリング・アルゴリズムは、Tjに対応するレベルにTjitが再び到達するまで、所定の緩和されたレートにおいてバッファから最古のパケットをスキップ又は破棄し始めるだろう。これは事実上、再生の組み込まれたスピードアップを表し、低速減衰(slow decay)又は適応のキャッチアップとも呼ばれる。従って、説明される適応アルゴリズムは高速アタックであるが、低速減衰である。] 図2d
[0048] 以下、特にネットワーク・ノードにおいて動作するように構成された本実施形態に係る適応ジッタ・バッファリング・メカニズムは簡易な適応アルゴリズムに依存する。このようなアルゴリズムの全体的な原理が図3〜図7を参照しつつさらに詳細に説明される。] 図3 図4 図5 図6 図7
[0049] ネットワーク・ノードに到来するパケットは一定の間隔Trepinでジッタ・バッファにより扱われ、従ってジッタ・バッファ入力の適切なタイミングが必要となるだろう。音声ソースから送信されて到来する音声パケットを扱うためのシナリオにおいて、これがどのように実現されうるかが図3を参照しつつ以下に説明される。] 図3
[0050] 図3のブロック図はジッタ・バッファにおけるパケットの受信とタイミングとの全体的な原理を示す。図によれば、輸送ネットワークから典型的には変動する遅延を有してパケットが到来する際にパケットはジッタ・バッファへと入れられ、図ではAで示される適応ジッタ・バッファリング・メカニズムが定期的に、すなわち典型的には例えば20msでありうる時間間隔Trepinで実行されるだろう。] 図3
[0051] 最初のステップ3:1で、ジッタ・バッファ保護時間Tjitの後続の適応の間に必要になるだろう変数を初期化することによりバッファリングが始まる。バッファ内の現在の待機中パケット数を示すN、Nmax、及び2つのカウンタcntr1、cntr2がリセットされる。また、ステップ3:1で実行される初期化の間に、Nminは、ジッタ・バッファ内の待機中パケット数Nが超えるような環境が存在しないような十分に大きな値が選択される事前に定義された値MAX_VALに設定される。従って、MAX_VALは例えば1000に設定され、または処理ユニットの正の最大整数、例えば32767に設定される。]
[0052] パケットの受信の間に適切なタイミングを提供するために、時間間隔Tは、
T=currT−prevT (4)
で規定されうる。ここで、currTはホストにより与えられる現在時刻を表し、prevTはジッタ・バッファ・アルゴリズムAが実行された直前の時刻を表す。ステップ3:1で、prevTはcurrTに等しく設定され、時間間隔パラメータTはリセットされる。Tjitはまた、Tjitのために指定された許容可能な適応範囲であるTjitminとTjitmaxとの間の範囲内の適切な初期値に設定される。Tjitmin及びTjitmaxは典型的に、バッファ入力インタフェースに依存して選択される設定パラメータである。Tjitminについての典型値は例えば20msでありえ、Tjitmaxは例えば200msに設定されうる。そして、Tjitについての適切な初期値は例えば、
Tjit=(Tjitmin+Tjitmax)/2 (5)
として導出されうる。]
[0053] ステップ3:5において継続的にチェックされる期間Trepinが経過しない限り、ネットワーク・ノードへ到来するパケットは、ステップ3:2と別のステップ3:3とで示されるように、ジッタ・バッファに入れられるだろう。後続のステップ3:4で、カウンタNは1だけ増やされ、バッファのタイミングTは別のステップ3:6で更新され、その後に到来パケットを扱うループが繰り返され、ステップ3:2から再開する。]
[0054] しかしながら、Trepinが経過すると、ジッタ・バッファリングを実行するように構成されたAが実行されるだろう。ジッタ・バッファリング手続きAの実行に続いて、バッファのタイミングは、ステップ3:7に示されるように、prevTをcurrTに設定することによってリセットされ、ステップ3:2から始まって、到来パケットをジッタ・バッファへ入れる手続きが繰り返されるだろう。]
[0055] ステップ3:5で示されるように、ジッタ・バッファリング手続きはTrepinごとに1回実行されるだろう。1つの実施形態に係るこのようなジッタ・バッファリング手続きの例がここで図4のブロック図を参照しつつ、より詳細に説明される。] 図4
[0056] 音声の間欠送信(DTX)が有効であるならば、受信した音声が無音期間内にあるかどうか、または直近の受信パケットが無音記述子(silence descriptor)即ちSIDであるかどうかが最初に判定されるべきである。後者のチェックは、ジッタ・バッファ内の直近の受信パケットを覗くことによって実現される。ここで、直近のパケットの関係するコンテンツは、バッファから如何なるパケットを実際に抜き出すことなく、バッファから評価される。この場合に、関係するコンテンツはフレーム・タイプ即ちSID又は音声であるだろう。これらの条件の何れかが満たされるならば、ブロック図はCへ分岐する。Cにより規定される手続きは図6を参照しつつ以下にさらに詳細に説明される。] 図6
[0057] しかしながら、これらの条件のいずれも満たされない又はDTXが無効であるならば、ブロック図は代わりにBへ分岐し、トーク・スパートを扱うためのジッタ・バッファ適応手続きが実行されるだろう。1つの実施形態に係るこのような手続きの例は、今回は図5を参照しつつ以下にさらに詳細に説明されるだろう。] 図5
[0058] 進行中のトーク・スパートがジッタ・バッファリング手続きAの最初のステップ4:1において識別されたならば、ブロック図はBへ分岐し、トーク・スパートを扱うように構成された適応手続きが実行されるだろう。更新されたTjitを結果として生じる手続きBが終了した場合に、ステップ4:2に示されるように、ジッタ・バッファが空か否かが最初に判定される。]
[0059] バッファが空であることが発見されると、そこから何かが配信されなければならず、よって、次のステップ4:3で示されるように、エラー隠蔽がバッファに挿入され、その後に最後のステップ4:4で手続きが終了する。しかしながら、現在のところ1つ以上のパケットがジッタ・バッファ内に存在するならば、代わりに、トーク・スパートが先頭であるか否かが判定される。このチェックは後続のステップ4:5で行われる。トーク・スパートが先頭でないことが発見されたならば、ステップ4:7で示されるように最古のパケットがバッファから抜き出され、それに従ってステップ4:8で示されるようにNが1だけ減らされ、最古の音声パケットが別のステップ4:9でそれに応じて処理され、その後に分岐はステップ4:4で終了する。]
[0060] しかしながら、ステップ4:5でトーク・スパートが先頭であることが発見された場合に、次のステップはジッタ・バッファ内の最古のパケットが処理されるべきであるほど長くバッファされているか、すなわちTjit以上であるかを判定することである。これは、別のステップ4:6で行われる。これが生じる前に、ジッタ・バッファから何も抜き出されず、ステップ4:17に示されるように、代わりに背景雑音(comfort noise)がバッファに挿入される。]
[0061] 無音期間の間、パケット又はSIDフレームはトーク・スパートの間よりも低いレートで送信ソースから送信され、手続きはSIDフレームが処理される時刻か又はジッタ・バッファから抜き出されるものが存在しない時刻かをチェックしなければならない。]
[0062] 代わりに適応手続きCにおいてTjitが適応されていた場合に、次のステップ4:10で示されるように、音声が無音期間内であるか否かがもう一度最初にチェックされる。これは以下の理由で必要だろう。ジッタ・バッファ内の最古のパケットがなおもトーク・スパートにあるが、覗かれた最新のパケットがすでにSIDである場合にCへの分岐がなされるからである。音声が無音期間内でないことが発見されたならば、ステップ4:7−4:9に示されるように、トーク・バーストの場合とまったく同様に、最古のパケットは抜き出されて処理されるだろう。トーク・スパートの場合と同様に、ジッタ・バッファリング手続きは次いで最後のステップ4:4で終了し、アルゴリズムは、図3のタイミング・リセットのステップ3:7から始まって、ネットワーク・ノードへ到来するパケットを扱い続ける。] 図3
[0063] ステップ4:10で音声が無音期間にあることが代わりに発見された場合に、Trepinの一定のパケット・レートでネットワーク・ノードのジッタ・バッファから何かが配信されなければならない。このような場合に、ステップ4:11で実行される次のステップは、SIDをバッファから抜き出す時刻であるか否かをチェックすべきだろう。このチェックは既知のSIDフレーム間隔に基づき、例えば無音期間の間に8個ごとのフレームがSIDとなりうる。まだSIDが抜き出される時刻でないならば、無音期間の間に入力レートが減らされた場合でも一定の出力レートを維持するために、背景雑音が代わりにバッファ出力で挿入されるだろう。背景雑音の特性はSIDフレームによって更新され、背景雑音はステップ4:17で挿入される。]
[0064] ステップ4:11でジッタ・バッファからSIDを抜き出す時刻であることが代わりに発見されたが、次のステップ4:12でジッタ・バッファが空であることが発見されたならば、SID処理を実行する代わりに、SID隠蔽が後続のステップ4:13で生成されるだろう。しかしながら、実際は1つ以上の待機中パケットがジッタ・バッファに存在するならば、後続のステップ4:14に示されるように代わりに最古のパケットがジッタ・バッファから抜き出され、次いで後続のステップ4:15でNが1だけ減らされ、次のステップ4:16でSIDが処理される。]
[0065] 無音期間の間、SIDが抜き出されているか否かに関わらず、背景雑音は常に出力へ挿入されるだろう。従って、ステップ4:13で実行されるSID隠蔽とステップ4:16で実行されるSID処理との両方に続いて、後続のステップ4:17で背景雑音がジッタ・バッファへ挿入されるだろう。]
[0066] 次に、分岐は最後のステップ4:4で終了し、アルゴリズムは図3のループで示されるように、ネットワーク・ノードのジッタ・バッファへ到来パケットを入れることによって到来パケットを扱い続ける。] 図3
[0067] トーク・スパートの間に実行される図4でBと呼ばれた適応手続きが図5のブロック図を参照しつつ以下により詳細に説明される。] 図4 図5
[0068] 最初のステップ5:1で、バッファで対処可能なものよりも多くの待機中パケットが現在のところジッタ・バッファに存在するかどうか、すなわち
N*Trepin>Tjitmax (6)
であるかが判定される。]
[0069] 要求されるジッタ保護時間N*Trepinが最大ジッタ保護時間Tjitmaxを超えるならば、次のステップ5:2に示されるように、最古のパケットがジッタ・バッファから抜き出され、それに従って後続のステップ5:3でNが1だけ減らされるだろう。この手続きは要求されたジッタ保護時間がTjitmaxを超える限り反復して繰り返されるだろう。次いで、必要ならば、待機中パケット数の変動を連続的に配信する際に用いられる2つのパラメータNmax、Nminのいずれかがそれぞれ後続のステップ5:4、5:5又はステップ5:6、5:7で更新される。]
[0070] 次のステップ5:8で、更新されたパラメータNmax、Nminに基づいてTjが導出される。式(1)で規定される現在のTjは、適応間隔ADAPT_INTの最後にTjitを適応する際に用いられるだろう。ADAPT_INTはチューニング・パラメータであり、経験に基づいて、例えば16に設定されうる。20msに設定されたTrepinとともに、16に設定されたADAPT_INTは320msに等しい適応期間ADAPT_INT*Trepinに対応するだろう。さらにまた、適応間隔ADAPT_INTに到達したかを追跡するため、すなわちTjitを適応する時刻を追跡するためのcntr1と呼ばれるカウンタがステップ5:8で1だけ増やされる。]
[0071] 後続のステップ5:9で、更新されたTjが現在のTjitと比較され、このような比較結果に依存して、ジッタ・バッファリング遅延の現時点で最大の許容目標レベルを示すcatchUpLimitと呼ばれる変数が設定されるだろう。変数catchUpLimitは、更新されたTjitの結果としてジッタ・バッファの再生をスピードアップすなわちキャッチアップするためにパケットがジッタ・バッファから抜き出されるかどうかを判定するために後でキャッチアップ手続きDで用いられるだろう。]
[0072] ステップ5:9でTjがTjitを超える、すなわちTjitが現在非常に小さく、現在経験している増加中のジッタでバッファがアンダーフローすることを防ぐためにTjitが増やさなければならないことが発見されたならば、ステップ5:10に示されるように現在のTjに基づいてcatchUpLimitが設定され、一方で、現在のTjitの値が適切であること又は不必要に高いジッタ・バッファ遅延をもたらす非常に高いことが発見されたならば、別のステップ5:11に示されるように、代わりにTjitに基づいてcatchUpLimitが設定されるだろう。]
[0073] 次のステップ5:12で、cntr1がADAPT_INTに到達するほど長くトーク・スパートが続いたかどうか、すなわちTjitを適応する時間かどうかが判定される。ADAPT_INTがまだ満了していない場合に、現在のcatchUpLimitに基づいて図5のDで示されるようなキャッチアップ手続きを実行することによって手続きが続く。キャッチアップ手続きは、適用可能であることが発見される場合にはいつでも、キャッチアップ、すなわち最古のパケットをジッタ・バッファから抜き出すことによって、ジッタ・バッファ遅延が小さくなるように段階的に適応するように設定される。キャッチアップ手続きDの実行に続いて、適応手続きBは最後のステップ5:13で終了するだろう。キャッチアップ手続きDは図7を参照しつつ後でより詳細に説明される。] 図5 図7
[0074] しかしながら、ステップ5:12でADAPT_INTが満了したことが発見されるならば、ジッタ保護時間Tjitはそれに応じて適応され、その後にキャッチアップ手続きDが実行されるだろう。ステップ5:14で、TjはTjitと再び比較される。TjがTjitを超えることが発見されたならば、高速アタックが実行される、すなわち次のステップ5:15でTjitはTjの現在値へ即時に増やされるだろう。]
[0075] 一方で、TjitがTjを超えないならば、これはTjitが減らされるべきであることを示し、よって、代わりに低速減衰が実行される、すなわち別のステップ5:16に示されるようにTjitをTjへ段階的に減らすことによってTjitは適応されるだろう。]
[0076] 低速減衰の間に、適応すなわちTjitを下方へ減らすことは式(7)、(8)により緩和される。TjitはTjitminを減らすことがないように制限される。Tjitのこのような適応は、
Tjit=max(Tjit−d,Tjitmin) (7)
で表現されうる。ここで、パラメータdは、
d=max(int((Tjit−Tj)/m),1) (8)
で規定されるTjitの適応減少幅である。mは経験による緩和定数でありチューニング・パラメータである。経験に基づくデフォルト値は例えば10に設定されうる。]
[0077] 高速アタックと低速減衰との両方に続いて、処理は後続のステップ5:17に続き、ちょうど今更新されたTjitに基づいて、cacthUpLimitが設定される。さらに、新たな適応間隔で始まるだろう新たな反復に対して適応手続きを準備するために、適応間隔カウンタcntr1がゼロにリセットされ、Nminが現在のNmaxの値に初期化され、Nmaxもゼロにリセットされる。]
[0078] ステップ5:15又は5:16で実行されるTjitの適応と、後続のステップ5:17で実行される次回の適応期間のための初期化とに続いて、この分岐もキャッチアップ手続きDへ続く。ここで、更新されたcatchUpLimitは、キャッチアップが必要かどうかを判定するために用いられるだろう。キャッチアップ手続きが実行された後に、適応手続きBはステップ5:13で終了し、ジッタ・バッファ・アルゴリズムは図4のバッファリング手続きAに続く。] 図4
[0079] 図4のステップ4:1で代わりに無音期間が識別されたならば、ジッタ手続きは、無音期間の間に又はその先頭でTjitを適応するように構成された適応手続きCへ分岐することによって続くだろう。1つの実施形態に従うこのような手続きの例が図6のブロック・スキームを参照しつつ以下により詳細に説明される。] 図4 図6
[0080] 最初のステップ6:1で、適応手続きは、前回の適応間隔ADAPT_INTが終了してから十分な時間が経過したかどうかを判定する。無音期間はいつ始まるかもしれず、通常は現在の適応期間の満了前に始まるため、cntr1の現在値とDTXLimitと呼ばれるパラメータとを最初に比較することによって、Tjitの最後の適応から十分に長い期間が経過したかどうかが最初に判定される。DTXLimitは事前に規定された定数であり、ADAPT_INTよりも小さくなるように選ばれるチューニング・パラメータである。DTXLimitの典型的なデフォルト値は例えば2でありうる。]
[0081] ステップ6:1でcntr1がDTXLimitをまだ超えていないことが発見されたならば、Tjitの直前の適応の終了が生じてから十分な時間が経過しておらず、Tjitの適応は実行されないだろう。代わりに、ステップ6:2でNminがMAX_VALに設定される。]
[0082] しかしながら、ステップ6:1でcntr1がDTXLimitを超えることが発見されたならば、Tjitの適応が必要であるだろうことが判定される。最初に、次のステップ6:3に示されるように、更新されたNmax及びNminから導出されるNの変動に基づいて、現在のTjが計算されるだろう。後続のステップ6:4で、更新されたTjが現在のTjitと比較され、無音期間の前のこの早すぎる適応間隔の間にすでに、Tjitが増やされる必要があるだろうことを現在の目標値Tjが示す場合に、後続のステップ6:5でTjの現在値にTjitは設定されてTjitが増やされ、それによって、最近経験されたNの変動とTjitの現在値とに応じて、高速アタックが実行される。]
[0083] 次のステップ6:6で、NminはNmaxの現在値へ初期化され、次のトーク・スパートの開始から始まる次の適応間隔のために準備される。また、後続のステップ6:7で、Nmaxとcntr1とはゼロにリセットされ、次の適応間隔のために準備される。]
[0084] 次に、キャッチアップ手続きDの実行の前に、ステップ6:8で、更新されたTjitに基づいて新たなcatchUpLimitが設定される。キャッチアップ手続きが実行されると、適応手続きCは最後のステップ6:9で終了し、ジッタ適応アルゴリズムは図4のジッタ・バッファリング手続きAを実行することで続く。] 図4
[0085] キャッチアップ手続きDの主な目的は、不必要に多くの待機中パケットがジッタ・バッファに存在する、すなわちTjitが不必要に大きい状況において、適応手続きB又はCで設定された変数catchUpLimitに基づいて、段階的にキャッチアップすること、すなわち最古のパケットをジッタ・バッファから段階的に破棄することによって、ジッタ・バッファの現在の遅延が小さくなるように適応することである。]
[0086] 1つの実施形態に従って、段階的にキャッチアップすることによりバッファ遅延が小さくなるように適応するキャッチアップ手続きが図7のブロック・スキームを参照しつつ以下にさらに詳細に説明される。] 図7
[0087] 最初にステップ7:1で、変数catchUpLimitに基づいて、現在のバッファリング時間が予測よりも長いかどうかが判定される。この瞬間に対する最長のバッファリング遅延、すなわちN*Trepinで規定される最古のパケットのバッファリング遅延が現在のcatchUpLimitを超えないならば、ジッタ・バッファにおいてキャッチアップの必要はなく、よって、キャッチアップ手続きDは最後のステップ7:4で終了する。段階的なキャッチアップのレートはカウンタcntr2により制御され、よって、ステップ7:2に示されるようにcntr2がすでにゼロに到達していない限り、ステップ7:3に示されるように、キャッチアップ手続きから離れる前に、cntr2は1だけ減らされるだろう。]
[0088] しかしながら、ステップ7:1で最古のパケットのバッファリング遅延が現在のところ現在のcatchUpLimitを超えることが発見されたならば、キャッチアップが必要であると判定される。カウンタcntr2は、この条件が有効である限り、ステップ7:6に示されるように、k回目の反復ごとの割合でジッタ・バッファ内の最古のパケットが破棄されることを保証し、それによって、ステップ5:16でTjitを減らすことにより始まった低速減衰が終了する。kはプリセットされたチューニング・パラメータであり、最小のキャッチアップ期間を規定する。パラメータkの値は典型的に経験に基づいて選択される。kの典型的な値は8でありえ、Trepinが20msである場合に、20ms/160msの最大キャッチアップ・レートに対応する。]
[0089] ステップ7:6でcntr2がkに等しいことが発見されるごとに、段階的なキャッチアップが実行され、ジッタ・バッファ内の最古のパケットがバッファから抜き出されて破棄される。これは別のステップ7:7で説明される。最古のパケットの抜き出しに続いて、Nが更新され、すなわち1だけ減らされ、キャッチアップが実行されたことを示すために次のステップ7:8でcntr2がゼロにリセットされる。次に、適応間隔ADAPT_INTが現在のキャッチアップ期間と同時にちょうど終了したかどうか、すなわちcntr1がゼロに等しいかどうかが判定される。これはステップ7:9で検証される。この場合に、キャッチアップ手続きDはステップ7:4で終了するだろう。しかしながら、cntr1がゼロを超えるならば、最古のパケットがジッタ・バッファから破棄されたばかりであることを考慮に入れるために、Nmax及びNminが更新、すなわち1だけ減らされなければならない。この手続きはステップ7:10〜7:13で示される。キャッチアップ手続きDの実行に続いて、手続きはそれぞれの適応手続きB又はCへ戻る。]
[0090] 図3〜7を参照しつつ提示された上述の実施形態は音声バーストにおいて送信された音声パケットをバッファリングするバッファリング方法を参照したが、本方法は、本明細書でメディア・パケットと呼ばれる音声パケット以外のパケットを介して配信されるビデオなどのようなジッタに影響を受けやすい他のタイプのメディアを扱うためにも適用可能でありうる。音声バーストで配信される代わりに、バッファへ到来するメディア・パケットがメディア・バーストにおいて配信されることが理解されるべきである。しかしながら、SIDだけでなく無音期間も音声にだけ規定されるため、メディア・スパートにおいて配信されるメディア・パケットが扱われる場合に、本方法の何らかの適応がなされる。無音期間分岐Cが無効の間に、メディア・バーストを配信するストリーミング・セッション中に図4のトーク・スパート/メディア・スパート分岐Bを維持することによって、説明された方法は、音声以外のメディアをバッファリングするために適応されうる。] 図3 図4 図5 図6 図7
[0091] 本明細書で説明されたジッタ・バッファ・アルゴリズムに従って動作するように構成された適応ジッタ・バッファを備える典型的なネットワーク・ノードが図8のブロック図を参照しつつ以下に説明される。図8のネットワーク・ノード800は、ノードが接続されるパケット交換ネットワーク(不図示)から到来するパケットを受信する受信ユニットを備える。バッファリング・ユニット802は上述されてきたバッファ遅延を動的に調整する方法を実行するように構成される。バッファリング・ユニットは受信ユニット801を介する適応ジッタ・バッファ803へのパケットの挿入と、送信ユニット804を介する適応ジッタ・バッファ803からのパケットの抜き出しとを制御する。適応ジッタ・バッファ803から送信ユニット804へパケットが抜き出されると、パケットは受信ネットワーク(不図示)へと送信される。フレーム番号の関数としてms単位の遅延で説明される上述のジッタ・バッファリング・アルゴリズムの例示的な性能が図9a及び図9bに示される。図9aは音声の間欠送信すなわちDTXが無効であるシミュレーションを説明し、図9bはDTXが有効であるシミュレーションを説明する。] 図8 図9a 図9b
[0092] 両シミュレーションは同一のオーディオ・サンプル・ファイルと同一の輸送遅延プロファイルとが用いられて実行された。両図において、細線は入力輸送遅延を表し、太線は再生時のバッファ遅延を含む全遅延を表す。太線がx軸まで低下する各機会は遅延スパイクによるバッファ・アンダーフローを示す。]
[0093] 本発明は、ネットワーク・ノードにおいて提供される限られた複雑性を有する適応ジッタ・バッファを表す。適用ジッタ・バッファはタイムスタンプ情報へアクセスすることを要求しない。すなわち、IP層へのアクセスを必要としない。タイムスタンプ情報に依存する代わりに、ジッタ・バッファは符号化された音声パケット/フレームを直接的に扱うように構成される。ジッタ・バッファ内のパケット数の監視された変動は必要となるジッタ保護時間Tjitを推定するのに用いられる。更新されたTjitに従って、エラー隠蔽パケットを追加することによって、又は最古の音声パケットをジッタ・バッファから削除することによって、経験されたジッタ・バッファ遅延はネットワーク・ノードの入力におけるパケットの現在の到来レートに適応されるだろう。]
[0094] 本発明は個別の例示的な実施形態を参照して説明されてきたものの、本説明は一般に発明の概念を説明することだけを意図するものであり、添付の請求項で規定される発明の範囲を限定するものとして受け取られるべきでない。]
[0095] 略語リスト
DTX間欠送信(Discontinuous transmission)
SID無音挿入記述子(Silence Insertion Descriptor)]
权利要求:

請求項1
パケット交換ネットワークからメディアストリームのパケットを受信するネットワーク・ノードの有する適応ジッタ・バッファのバッファ遅延を動的に調整する方法であって、前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップと、前記ジッタ・バッファの再生間隔に等しいTrepinごとに1度、ジッタ・バッファリング手続きを実行するステップとを有し、最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Tjitは、前記ジッタ・バッファ内の待機中パケット数Nの変動に基づいて更新されることを特徴とする方法。
請求項2
前記ジッタ・バッファリング手続きは、初期ステップとして、前記メディアストリームが現在のところ無音期間内にあるか、又は直近の受信パケットが音声パケットとSIDとのいずれであるかを判定するステップと、前記直近の受信パケットが音声パケットである場合に、トーク・スパートの間にTjitを更新する適応手続きを実行するか、前記メディアストリームが現在のところ無音期間である場合又は前記直近の受信パケットがSIDである場合に、無音期間の間にTjitを更新する適応手続きを実行するステップとを有することを特徴とする請求項1に記載の方法。
請求項3
トーク・スパート又はメディア・スパートの間にTjitを調整する前記適応手続きは、前記適応手続きの所定の反復回数を規定する適応間隔ADAPT_INTにわたって記録されたNの最小値NminとNの最大値Nmaxとを更新するためにNを監視するステップと、Tjitに要求される調整の指標であるTjが、Tj=(Nmax−Nmin)*Trepinとなるように、Nの前記変動に基づいてTjitに対する更新された目標値Tjを規定するステップと、Tjitの前回の調整を行ってからの前記適応手続きの反復回数がADAPT_INTに等しい場合にTjitを調整するステップとを有することを特徴とする請求項1又は2に記載の方法。
請求項4
前記調整するステップは、現在のTjitで対処可能なものよりもNの前記変動が大きい場合にTjに従ってTjitを増やすステップ、又は現在の変動よりも大きなNの変動のために現在のTjitの大きさが設定されている場合にTjに従ってTjitを減らすステップを有することを特徴とする請求項3に記載の方法。
請求項5
前記調整するステップはTjがTjitを超える場合に、高速アタックを実行して、Tjに等しくなるようにTjitを即時に更新するステップ、又は低速減衰を実行して、現在のTjへ向けてTjitを段階的に減らすステップと、現在の最大バッファ遅延時間N*Trepinが所定の閾値catchUpLimitを超える場合に、Tjitが現在のNの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップとをさらに有することを特徴とする請求項3又は4に記載の方法。
請求項6
catchUpLimitは、Tjitが更新されておらず且つ現在のTjが現在のTjitを超える場合に、catchUpLimit=Tj+Trepinとして規定され、それ以外の場合にcatchUpLimit=Tjit+Trepinとして規定されることを特徴とする請求項5に記載の方法。
請求項7
無音期間内又は前記直近の受信パケットがSIDである場合にTjitを適応する前記適応手続きは、前記手続きにより実行された前回のTjitの適応を行ってからの、トーク・スパートの間に適応する手続きの反復回数が所定の無音期間適応リミットDTXLimitを超える場合にTjitを更新するステップと、前記適応手続きの所定の反復回数を規定する適応間隔ADAPT_INTにわたって測定されたNの最大値をNmaxとし、Nの最小値をNminとして場合に、Tjitに要求される調整の指標であるTjが、Tj=(Nmax−Nmin)*Trepinとなるように、Nの前記変動に基づいてTjitに対する更新された目標値Tjを規定するステップと、現在のTjitで対処可能なものよりもNの前記変動が大きい場合にTjに従ってTjitを増やすステップとを有することを特徴とする請求項2に記載の方法。
請求項8
前記調整するステップはTjがTjitを超える場合に、高速アタックを実行して、Tjに等しくなるようにTjitを即時に更新するステップと、現在のバッファ遅延時間N*Trepinが所定の閾値catchUpLimitを超える場合に、Tjitが現在のNの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップとをさらに有することを特徴とする請求項7に記載の方法。
請求項9
catchUpLimitは、catchUpLimit=Tj+Trepinとして規定されることを特徴とする請求項8に記載の方法。
請求項10
前記メディアストリームはオーディオ・ストリームであることを特徴とする請求項1乃至9の何れか1項に記載の方法。
請求項11
前記メディアストリームはビデオ・ストリームであることを特徴とする請求項1乃至10の何れか1項に記載の方法。
請求項12
パケット交換ネットワークからメディアストリームのパケットを受信するための適応ジッタ・バッファを備え、バッファ遅延を動的に調整するように構成されたノードであって、前記ノードへ到来するパケットを受信するための受信ユニットと、前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップし、前記ジッタ・バッファの再生間隔に等しいTrepinごとに1度、ジッタ・バッファリング手続きを実行するためのバッファリング・ユニットとを備え、最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Tjitは、前記ジッタ・バッファ内の待機中パケット数Nの変動に基づいて更新されることを特徴とするノード。
請求項13
前記バッファリング・ユニットは、前記メディアストリームが現在のところ無音期間内にあるか、又は直近の受信パケットが音声パケットとSIDとのいずれであるかを判定するステップと、前記直近の受信パケットが音声パケットである場合に、トーク・スパートの間にTjitを更新する適応手続きを実行するか、前記メディアストリームが現在のところ無音期間である場合又は前記直近の受信パケットがSIDである場合に、無音期間の間にTjitを更新する適応手続きを実行するステップとを実行するように構成されることを特徴とする請求項12に記載のノード。
請求項14
前記バッファリング・ユニットがトーク・スパート又はメディア・スパートの間にTjitを更新する調整する適応手続きを実行している場合に、前記バッファリング・ユニットは、前記適応手続きの所定の反復回数を規定する適応間隔ADAPT_INTにわたって記録されたNの最小値NminとNの最大値Nmaxとを更新するためにNを監視するステップと、Tjitに要求される調整の指標であるTjが、Tj=(Nmax−Nmin)*Trepinとなるように、Nの前記変動に基づいてTjitに対する更新された目標値Tjを規定するステップと、Tjitの前回の調整を行ってからの前記適応手続きの反復回数がADAPT_INTに等しい場合にTjitを調整するステップとを実行するようにさらに構成されることを特徴とする請求項12又は13に記載のノード。
請求項15
前記調整するステップを実行する際に、前記バッファリング・ユニットは、現在のTjitで対処可能なものよりもNの前記変動が大きい場合にTjに従ってTjitを増やすステップ、又は現在の変動よりも大きなNの変動のために現在のTjitの大きさが設定されている場合にTjに従ってTjitを減らすステップを実行するようにさらに構成されることを特徴とする請求項14に記載のノード。
請求項16
前記調整するステップを実行する際に、前記バッファリング・ユニットは、TjがTjitを超える場合に、高速アタックを実行して、Tjに等しくなるようにTjitを即時に更新するステップ、又は低速減衰を実行して、現在のTjへ向けてTjitを段階的に減らすステップと、現在の最大バッファ遅延時間N*Trepinが所定の閾値catchUpLimitを超える場合に、Tjitが現在のNの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップとを実行するようにさらに構成されることを特徴とする請求項14又は15に記載のノード。
請求項17
前記バッファリング・ユニットは、catchUpLimitを、Tjitが更新されておらず且つ現在のTjが現在のTjitを超える場合に、catchUpLimit=Tj+Trepinとして規定し、それ以外の場合にcatchUpLimit=Tjit+Trepinとして規定するように構成されることを特徴とする請求項16に記載のノード。
請求項18
無音期間内又は前記直近の受信パケットがSIDである場合に、前記バッファリング・ユニットは、前記手続きにより実行された前回のTjitの適応を行ってからの、トーク・スパートの間に適応する手続きの反復回数が所定の無音期間適応リミットDTXLimitを超える場合にTjitを更新するステップと、前記適応手続きの所定の反復回数を規定する適応間隔ADAPT_INTにわたって測定されたNの最大値をNmaxとし、Nの最小値をNminとして場合に、Tjitに要求される調整の指標であるTjが、Tj=(Nmax−Nmin)*Trepinとなるように、Nの前記変動に基づいてTjitに対する更新された目標値Tjを規定するステップと、現在のTjitで対処可能なものよりもNの前記変動が大きい場合にTjに従ってTjitを増やすステップとを実行するようにさらに構成されることを特徴とする請求項13に記載のノード。
請求項19
前記調整するステップの間に、前記バッファリング・ユニットは、TjがTjitを超える場合に、高速アタックを実行して、Tjに等しくなるようにTjitを即時に更新するステップと、現在のバッファ遅延時間N*Trepinが所定の閾値catchUpLimitを超える場合に、Tjitが現在のNの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップとを実行するようにさらに構成されることを特徴とする請求項18に記載のノード。
类似技术:
公开号 | 公开日 | 专利标题
US9191664B2|2015-11-17|Adaptive bitrate management for streaming media over packet networks
US9967307B2|2018-05-08|Implementing a high quality VoIP device
US8804773B2|2014-08-12|Method and apparatus for managing voice call quality over packet networks
ES2405750T3|2013-06-03|Procedimiento y aparato de memoria intermedia de supresión de fluctuación adaptativa
CN1320805C|2007-06-06|一种分组交换网络自适应抖动缓冲区调整方法
EP1735953B1|2014-06-11|Network delay control
US7496086B2|2009-02-24|Techniques for jitter buffer delay management
AU686225B2|1998-02-05|Method for adaptive smoothing delay for packet voice applications
EP1535419B1|2009-05-06|Method and devices for controlling retransmissions in data streaming
EP2719144B1|2018-08-08|On-demand adaptive bitrate management for streaming media over packet networks
JP4426454B2|2010-03-03|通信リンク間の遅延トレードオフ
JP4421625B2|2010-02-24|フロー制御方法および受信装置
JP4504429B2|2010-07-14|端末間のボイスオーバインターネットプロトコルのメディアの待ち時間を管理する方法および装置
Laoutaris et al.2002|Intrastream synchronization for continuous media streams: A survey of playout schedulers
US7359324B1|2008-04-15|Adaptive jitter buffer control
KR101286830B1|2013-07-17|늦은 멀티캐스트 참여의 고속 채널 변경
US6658027B1|2003-12-02|Jitter buffer management
JP3882187B2|2007-02-14|フロー制御システムおよび方法
EP1440375B1|2011-04-27|Network media playout
US9356869B2|2016-05-31|VoIP bandwidth management
JP4399356B2|2010-01-13|Method and system for encapsulating cells
US8804515B2|2014-08-12|Technique for dynamically controlling data packet transmissions
US6452950B1|2002-09-17|Adaptive jitter buffering
KR100537499B1|2005-12-19|전송제어 파라미터 생성방법 및 프레임 특성에 따른선택적 자동 재전송 방법
US7251246B2|2007-07-31|Selective packet processing in a packet based media processor for latency reduction
同族专利:
公开号 | 公开日
EP2235894A4|2012-12-05|
BRPI0821979A2|2015-06-23|
US20100296525A1|2010-11-25|
EP2235894A1|2010-10-06|
ES2452365T3|2014-04-01|
CN101926134A|2010-12-22|
US8254376B2|2012-08-28|
EP2235894B1|2014-01-22|
JP5153891B2|2013-02-27|
CN101926134B|2013-06-19|
WO2009093945A1|2009-07-30|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2012-07-09| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120709 |
2012-08-21| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120820 |
2012-10-20| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121019 |
2012-11-06| TRDD| Decision of grant or rejection written|
2012-11-13| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121112 |
2012-12-13| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121204 |
2012-12-14| R150| Certificate of patent or registration of utility model|Ref document number: 5153891 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2012-12-14| FPAY| Renewal fee payment (event date is renewal date of database)|Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
2015-12-01| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2016-12-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-12-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-12-04| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-12-03| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-12-14| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]